View Javadoc
1 //============================================================================== 2 // file : SearchFiles.java 3 // project: Lucene Search System 4 // 5 // last change: date: $Date: 2003/09/09 03:11:52 $ 6 // by: $Author: bitiboy $ 7 // revision: $Revision: 1.1 $ 8 //------------------------------------------------------------------------------ 9 // copyright: GNU GPL Software License (see class documentation) 10 //============================================================================== 11 12 package com.justhis.lucene.xml; 13 14 15 /* 16 * $Id: SearchFiles.java,v 1.1 2003/09/09 03:11:52 bitiboy Exp $ 17 * 18 * Copyright 2003 Acai Software All Rights Reserved. 19 * 20 * This file LuceneException.java is part of the Lucene Search System. 21 22 * The Lucene Search System is free software; you can redistribute it and/or modify 23 * it under the terms of the GNU General Public License as published by 24 * the Free Software Foundation; either version 2 of the License, or 25 * (at your option) any later version. 26 27 * Lucene Search System is distributed in the hope that it will be useful, 28 * but WITHOUT ANY WARRANTY; without even the implied warranty of 29 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 30 * GNU General Public License for more details. 31 32 * You should have received a copy of the GNU General Public License 33 * along with the Lucene Search System; if not, write to the Free Software 34 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 35 36 * http://www.justhis.com http://ejb.cn 37 * CONTACT: email = webmaster@justhis.com superaxis@sohu.com 38 */ 39 import com.justhis.lucene.LuceneException; 40 41 import org.apache.lucene.analysis.Analyzer; 42 import org.apache.lucene.analysis.standard.StandardAnalyzer; 43 import org.apache.lucene.document.Document; 44 import org.apache.lucene.queryParser.ParseException; 45 import org.apache.lucene.queryParser.QueryParser; 46 import org.apache.lucene.search.Hits; 47 import org.apache.lucene.search.IndexSearcher; 48 import org.apache.lucene.search.Query; 49 import org.apache.lucene.search.Searcher; 50 51 import java.io.IOException; 52 53 54 /*** 55 * ?????????????????? 56 * 57 * @author <a href="http://blog.ejb.cn">acai</a> 58 * @version $Revision: 1.1 $ 59 */ 60 public class SearchFiles { 61 //~ Methods ---------------------------------------------------------------- 62 63 /*** 64 * ????XML????????????????XML???? 65 * 66 * @param indexPath 67 * @param keyWords 68 * 69 * @throws LuceneException 70 * 71 * @todo ????????????????XML?????????????? 72 * 73 */ 74 public static void search(String indexPath, String keyWords) 75 throws LuceneException { 76 Searcher searcher = null; 77 78 try { 79 searcher = new IndexSearcher(indexPath); 80 81 Analyzer analyzer = new StandardAnalyzer(); 82 83 Query query = QueryParser.parse("title:\"" + keyWords + "\" " 84 + keyWords, "content", analyzer 85 ); 86 System.out.println("Searching for: " + query.toString()); 87 88 Hits hits = searcher.search(query); 89 System.out.println(hits.length() + " total matching documents"); 90 91 final int HITS_PER_PAGE = 10; 92 93 for (int start = 0; start < hits.length(); 94 start += HITS_PER_PAGE 95 ) { 96 int end = Math.min(hits.length(), start + HITS_PER_PAGE); 97 98 for (int i = start; i < end; i++) { 99 Document doc = hits.doc(i); 100 String name = doc.get("objectId"); 101 System.out.println(name); 102 System.out.println(doc.get("author")); 103 System.out.println(doc.get("title")); 104 } 105 } 106 } catch (IOException e) { 107 throw new LuceneException(e.getMessage(), e); 108 } catch (ParseException e) { 109 throw new LuceneException(e.getMessage(), e); 110 } finally { 111 if (searcher != null) { 112 try { 113 searcher.close(); 114 } catch (IOException e1) { 115 } 116 } 117 } 118 } 119 } 120 /* 121 * $Log: SearchFiles.java,v $ 122 * Revision 1.1 2003/09/09 03:11:52 bitiboy 123 * *** empty log message *** 124 * 125 * Revision 1.1 2003/09/09 00:54:45 bitiboy 126 * *** empty log message *** 127 * 128 * Revision 1.2 2003/09/07 08:45:20 superaxis 129 * ????Search?????????? 130 * 131 * Revision 1.1 2003/09/07 08:23:50 superaxis 132 * *** empty log message *** 133 * 134 * 135 */

This page was automatically generated by Maven